function [precision, correct] = id3_data_test(data_test, parent, attrib, split, label_prob, label_count )
    M = size(parent, 2);
    child = zeros([M, 2]);

    for i = 1 : M
        childs = find(parent == i);
        if (size(childs, 2) ~= 0)
            left = min(childs);
            right = max(childs);

            child(i, 1) = left;
            child(i, 2) = right;
        else
            child(i, 1) = -1;
            child(i, 2) = -1;
        end
    end    

    correct = 0;
    N = size(data_test, 1);

    for i = 1 : N
        test = data_test(i, :);
        prob = id3_test(test, child, attrib, split, 1, label_prob, label_count);
        [maxprob, label] = max(prob);
        if (label == data_test(i, 1)) 
            correct = correct+1;
        end
        disp(prob);
        disp([label, data_test(i, 1)]);
    end    
    precision = correct / N;
    disp(precision);

end